package com.ruoyi.base.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import javax.validation.constraints.NotNull;
import lombok.Data;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 设备信息对象 base_device
 * 
 * @author yepanpan
 * @date 2025-02-28
 */
@Data
public class BaseDevice extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    public static final String RUN_NORMAL = "0";
    public static final String RUN_FAULT = "1";
    public static final String RUN_OFFLINE = "2";
    public static final String USE_FREE = "0";
    public static final String USE_NORMAL = "1";
    public static final String USE_FAULT = "2";
    public static final String USE_MAINTAIN = "3";
    public static final String USE_SCRAP = "9";

    /** 自增长主键ID */
    private Long id;

    /** 组织区域 */
    @Excel(name = "组织区域")
    private String deptName;
    @NotNull
    private Long deptId;

    /** 设备类型 */
    @Excel(name = "设备类型")
    private String typeName;
    @NotNull
    private Long typeId;
    private String typeCode;
    private Long sysId;
    private String sysName;
    private String sysCode;

    /** 型号 */
    @Excel(name = "型号")
    private String modelName;
    private Long modelId;

    /** 设备编码 */
    @Excel(name = "设备编码")
    @NotNull
    private String code;

    /** 设备位置 */
    @Excel(name = "设备位置")
    @NotNull
    private String position;

    @Excel(name = "经度")
    private BigDecimal lng;

    @Excel(name = "纬度")
    private BigDecimal lat;

    /** X坐标 */
    //@Excel(name = "X坐标")
    private String pointX;

    /** Y坐标 */
    //@Excel(name = "Y坐标")
    private String pointY;

    /** Z坐标 */
    //@Excel(name = "Z坐标")
    private String pointZ;

    /** 整数1 */
    //@Excel(name = "整数1")
    private Integer propInt1;

    /** 整数2 */
    //@Excel(name = "整数2")
    private Integer propInt2;

    /** 整数3 */
    //@Excel(name = "整数3")
    private Integer propInt3;

    /** 小数1 */
    //@Excel(name = "小数1")
    private BigDecimal propDc;


    /** 字符串1 */
    //@Excel(name = "字符串1")
    private String propStr1;

    /** 字符串2 */
    //@Excel(name = "字符串2")
    private String propStr2;

    /** 字符串3 */
    //@Excel(name = "字符串3")
    private String propStr3;


    /** 日期时间1 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    //@Excel(name = "日期时间1", width = 30, dateFormat = "yyyy-MM-dd")
    private Date propDatetime;

    /** 日期1 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    //@Excel(name = "日期1", width = 30, dateFormat = "yyyy-MM-dd")
    private Date propDate;


    /** 文本1 */
    //@Excel(name = "文本1")
    private String propText1;

    /** 文本2 */
    //@Excel(name = "文本2")
    private String propText2;


    /** 图例 */
    //@Excel(name = "图例")
    private String imgs;

    /** 设备状态 */
    @Excel(name = "设备状态", dictType="run_status", comboReadDict=true)
    @NotNull
    private String runStatus;

    /** 设备使用状态 */
    @Excel(name = "设备使用状态", dictType="device_status", comboReadDict=true)
    @NotNull
    private String useStatus;

    /** 质保期限 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "质保期限", width = 30, dateFormat = "yyyy-MM-dd")
    private Date scrapDate;

    /** 业务编码 */
    //@Excel(name = "业务编码")
    private String extCode;

    /** 归属平台 */
    //@Excel(name = "归属平台")
    private String pfCode;


}
